package com.maiko.maikoaiagent.tools;

import org.springframework.ai.tool.annotation.Tool;

/**
 * TerminateTool 是一个用于主动终止智能体任务的工具。
 * 当大语言模型判断任务已经完成，或者无法继续推进时，可以调用此工具表示流程终结。
 * <p>
 * 在 Spring AI / ReAct / Tool-Calling 架构中，该工具常作为一种“停止信号”工具使用。
 * <p>
 * 使用场景示例：
 * - 所有任务子步骤已完成，模型主动调用该工具表示收尾
 * - 模型无法获得足够信息，决定中止流程
 *
 * @author: Maiko7
 * @create: 2025-07-10 8:02
 */

public class TerminateTool {

    /**
     * 用于终止当前对话流程的工具方法。
     * 当模型调用该方法时，代表任务已结束或不再推进。
     *
     * @return 返回 “任务结束” 字样，供用户提示
     */
    @Tool(description = """
            Terminate the interaction when the request is met OR if the assistant cannot proceed further with the task.
            When you have finished all the tasks, call this tool to end the work.
            """)
    public String doTerminate() {
        return "任务结束";
    }
}


